package cn.edu.scau.cmi.ema.dao;

import java.util.Set;

import org.springframework.dao.DataAccessException;
import cn.edu.scau.cmi.ema.domain.*;
import cn.edu.scau.cmi.ema.domain.base.CmiPagination;
import java.math.BigDecimal;

public interface PackingmethodDAO extends JpaDao<Packingmethod> {

	public Packingmethod findPackingmethodById(Integer id) throws DataAccessException;

	public Packingmethod findPackingmethodById(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Packingmethod> findPackingmethodByName(String name) throws DataAccessException;

	public Set<Packingmethod> findPackingmethodByName(String name, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Packingmethod> findPackingmethodByNameContaining(String name_1) throws DataAccessException;

	public Set<Packingmethod> findPackingmethodByNameContaining(String name_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Packingmethod> findPackingmethodByFee(BigDecimal fee) throws DataAccessException;

	public Set<Packingmethod> findPackingmethodByFee(BigDecimal fee, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Packingmethod> findPackingmethodByDescription(String description) throws DataAccessException;

	public Set<Packingmethod> findPackingmethodByDescription(String description, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Packingmethod> findPackingmethodByDescriptionContaining(String description_1) throws DataAccessException;

	public Set<Packingmethod> findPackingmethodByDescriptionContaining(String description_1, int startResult,
			int maxRows) throws DataAccessException;

	public Packingmethod findPackingmethodByPrimaryKey(Integer id) throws DataAccessException;

	public Packingmethod findPackingmethodByPrimaryKey(Integer id, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Packingmethod> findPackingmethodsByIds(Set<Integer> ids) throws DataAccessException;

	public Set<Packingmethod> findAllPackingmethods() throws DataAccessException;

	public Set<Packingmethod> findAllPackingmethods(int startResult, int maxRows) throws DataAccessException;

	public Set<Packingmethod> findPackingmethodsByUnit(Integer unitId, int start, int max);

	public Set<Packingmethod> findPackingmethodByCompositeProperities(String sql, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Packingmethod> findPackingmethodsByDetachedCriteria(CmiPagination page) throws DataAccessException;

	public Packingmethod findPackingmethodByPhysicalPrimaryKey(String name, BigDecimal fee, Integer unitId)
			throws DataAccessException;

	public Packingmethod findPackingmethodByPhysicalPrimaryKey(String name, BigDecimal fee, Integer unitId,
			int startResult, int maxRows) throws DataAccessException;
}
